using System;
using System.Collections.Generic;
using System.Text;

using SlimDX;
using SlimDX.Direct3D9;
using SlimDX.Windows;

namespace miciv.Rendering
{
    public interface ICamera
    {
        void SetOrtho(float _fWidth, float _fHeight, float _fZNear, float _fZFar);
        void SetPerspective(float _fFovy, float _fAspectRatio, float _fZNear, float _fZFar);
        Vector3 Position { get; set; }
        Vector3 Rotation { get; set; }
        Matrix ComputeWorldViewProj(ref Matrix _matWorld, bool _bTranspose);
        void ComputeWorldViewProj(ref Matrix _matWorld, out Matrix _matWVP, bool _bTranspose);
        Vector3 Unproject(float _fScreenX, float _fScreenY);
    }
}
